/**
 *====================================================
 * 文件名称: RecieveNoticeEntity.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2015年10月18日			chenxy(创建:创建文件)
 *====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 */
package com.yuexunit.finance.project.entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import com.yuexunit.finance.project.entity.lexicon.BulkstockSourceEnum;
import com.yuexunit.finance.project.entity.lexicon.NoticeStateEnum;
import com.yuexunit.finance.project.entity.lexicon.ProductTypeEnum;

/**
 * @ClassName: RecieveNoticeEntity
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author chenxy
 * @date 2015年10月18日 上午6:04:16
 */
@Entity
@Table(name = "FIN_RECIEVE_NOTICE")
public class RecieveNoticeEntity {

	/** 收货通知ID */
	@Id
	@GeneratedValue
	@Column(name = "RECIEVE_NOTICE_ID")
	private Long recieveNoticeId;

	/** 货物来源 */
	@Column(name = "BULKSTOCK_SOURCE")
	private BulkstockSourceEnum bulkstockSource;

	/** 估值调整ID */
	@Column(name = "REPLENISH_CREDIT_ID")
	private Long replenishCreditId;

	/** 提货申请ID */
	@Column(name = "EXCHANGE_PICKUP_ID")
	private Long exchangePickupId;

	/** 收货通知单号 */
	@Column(name = "RECIEVE_NOTICE_NUMBER")
	private String recieveNoticeNumber;

	/** 融资信息ID */
	@Column(name = "FINANCE_ID")
	private Long financeId;

	/** 融资信息编号 */
	@Column(name = "FINANCE_NUMBER")
	private String financeNumber;

	/** 融资企业ID */
	@Column(name = "ENTERPRISE_ID")
	private Long enterpriseId;

	/** 融资企业名称 */
	@Column(name = "ENTERPRISE_NAME")
	private String enterpriseName;

	/** 物流公司ID */
	@Column(name = "LOGISTICS_COMPANY_ID")
	private Long logisticsCompanyId;

	/** 物流公司名称 */
	@Column(name = "LOGISTICS_COMPANY_NAME")
	private String logisticsCompanyName;

	/** 收货通知说明 */
	@Column(name = "NOTICE_REMARK")
	private String noticeRemark;

	/** 通知状态 */
	@Column(name = "NOTICE_STATE")
	private NoticeStateEnum noticeState;

	/** 确认时间 */
	@Column(name = "CONFIRM_DT")
	private Date confirmDateTime;

	/** 确认人员ID */
	@Column(name = "CONFIRM_ACCOUNT_ID")
	private Long confirmAccountId;

	/** 确认人员 */
	@Column(name = "CONFIRM_ACCOUNT")
	private String confirmAccount;

	/** 是否有效 */
	@Column(name = "ENABLED")
	private Boolean enabled;

	/** 创建时间 */
	@Column(name = "CREATE_DT")
	private Date createDateTime;

	/** 更新时间 */
	@Column(name = "UPDATE_DT")
	private Date updateDateTime;
	
	/** 订舱单号 */
	@Column(name = "BOOKING_SPACE_NUMBER")
	private String bookingSpaceNumber;
	
	/** 产品类型 */
	@Column(name = "PRODUCT_TYPE")
	private ProductTypeEnum productType;
	
	public ProductTypeEnum getProductType() {
		if (productType == null) {
			return ProductTypeEnum.UNKNOWN;
		}
		return productType;
	}

	public void setProductType(ProductTypeEnum productType) {
		this.productType = productType;
	}

	public String getBookingSpaceNumber() {
		return bookingSpaceNumber;
	}

	public void setBookingSpaceNumber(String bookingSpaceNumber) {
		this.bookingSpaceNumber = bookingSpaceNumber;
	}

	public Long getRecieveNoticeId() {
		return recieveNoticeId;
	}

	public void setRecieveNoticeId(Long recieveNoticeId) {
		this.recieveNoticeId = recieveNoticeId;
	}

	public BulkstockSourceEnum getBulkstockSource() {
		return bulkstockSource;
	}

	public void setBulkstockSource(BulkstockSourceEnum bulkstockSource) {
		this.bulkstockSource = bulkstockSource;
	}

	public Long getReplenishCreditId() {
		return replenishCreditId;
	}

	public void setReplenishCreditId(Long replenishCreditId) {
		this.replenishCreditId = replenishCreditId;
	}

	public Long getExchangePickupId() {
		return exchangePickupId;
	}

	public void setExchangePickupId(Long exchangePickupId) {
		this.exchangePickupId = exchangePickupId;
	}

	public String getRecieveNoticeNumber() {
		return recieveNoticeNumber;
	}

	public void setRecieveNoticeNumber(String recieveNoticeNumber) {
		this.recieveNoticeNumber = recieveNoticeNumber;
	}

	public Long getFinanceId() {
		return financeId;
	}

	public void setFinanceId(Long financeId) {
		this.financeId = financeId;
	}

	public String getFinanceNumber() {
		return financeNumber;
	}

	public void setFinanceNumber(String financeNumber) {
		this.financeNumber = financeNumber;
	}

	public Long getEnterpriseId() {
		return enterpriseId;
	}

	public void setEnterpriseId(Long enterpriseId) {
		this.enterpriseId = enterpriseId;
	}

	public String getEnterpriseName() {
		return enterpriseName;
	}

	public void setEnterpriseName(String enterpriseName) {
		this.enterpriseName = enterpriseName;
	}

	public Long getLogisticsCompanyId() {
		return logisticsCompanyId;
	}

	public void setLogisticsCompanyId(Long logisticsCompanyId) {
		this.logisticsCompanyId = logisticsCompanyId;
	}

	public String getLogisticsCompanyName() {
		return logisticsCompanyName;
	}

	public void setLogisticsCompanyName(String logisticsCompanyName) {
		this.logisticsCompanyName = logisticsCompanyName;
	}

	public String getNoticeRemark() {
		return noticeRemark;
	}

	public void setNoticeRemark(String noticeRemark) {
		this.noticeRemark = noticeRemark;
	}

	public NoticeStateEnum getNoticeState() {
		return noticeState;
	}

	public void setNoticeState(NoticeStateEnum noticeState) {
		this.noticeState = noticeState;
	}

	public Date getConfirmDateTime() {
		return confirmDateTime;
	}

	public void setConfirmDateTime(Date confirmDateTime) {
		this.confirmDateTime = confirmDateTime;
	}

	public Long getConfirmAccountId() {
		return confirmAccountId;
	}

	public void setConfirmAccountId(Long confirmAccountId) {
		this.confirmAccountId = confirmAccountId;
	}

	public String getConfirmAccount() {
		return confirmAccount;
	}

	public void setConfirmAccount(String confirmAccount) {
		this.confirmAccount = confirmAccount;
	}

	public Boolean getEnabled() {
		return enabled;
	}

	public void setEnabled(Boolean enabled) {
		this.enabled = enabled;
	}

	public Date getCreateDateTime() {
		return createDateTime;
	}

	public void setCreateDateTime(Date createDateTime) {
		this.createDateTime = createDateTime;
	}

	public Date getUpdateDateTime() {
		return updateDateTime;
	}

	public void setUpdateDateTime(Date updateDateTime) {
		this.updateDateTime = updateDateTime;
	}

}